Nowadays as science and technology are changing with each passing day, embedded electronic devices, such as mobile phones, personal digital assistants (PDA), portable navigation devices (PND) and so on, have become indispensable electronic products in the daily life of modern people. During booting of an embedded electronic device, a microprocessor executes a boot code stored in a boot memory. The microprocessor then accesses an initiation image from a fixed initiation image source device according to the boot code, and executes the initiation code in the initiation image to initiate the embedded electronic device. A conventional boot memory, for storing the boot code, is an access only memory (ROM) or a NOR flash memory. Content of the ROM is not easy to modify, and hence it is rather inconvenient to modify the boot code for changing the initiation image source device.
In addition, option pins are also applied for selecting a boot memory or an initiation image source device in an embedded electronic device. When the embedded electronic device has more than two types of boot memories, such as a ROM or a NOR flash memory, the option pins are used to select a boot code from the ROM and the NOR flash memory. Furthermore, when the embedded electronic device simultaneously has various types of initiation image source devices, such as a NAND flash memory, a hard disk (HD), a universal asynchronous receiver/transmitter (UART), a universal serial bus (USB) and so on, option pins are used to select one of different initiation image source devices and its configuration to provide the initiation image to the microprocessor for initiating the embedded electronic device.
When the embedded electronic device has a plurality of initiation image source devices and partial initiation image source devices have different configurations, a conventional booting method generally uses N option pins to select one initiation image source device from 2N initiation image source devices, where N is greater than 1. However, the conventional method tends to excessively use option pins that lead to an increase in the volume of the embedded electronic device. Moreover, when the selected initiation image source device, such as a Secure Digital (SD) card, does not connect to the embedded electronic device, or have any malfunctions, booting of the embedded electronic device may fail.
During booting of a personal computer (PC) or a notebook (NB) computer, a microprocessor accesses a booting sequence table in a basic input and output (BIOS) system. The booting sequence table determines in accessing an operation system for booting the PC or NB computer from devices, such as an HD, a floppy disk or a compact disk (CD). A user selects from a menu via a keyboard or a screen, so as to change a setting of the boot sequence table, of the BIOS, stored in a complementary metal-oxide semiconductor (CMOS) memory. With respect to an embedded electronic device, cost is increased when the CMOS memory is added, let alone that an additional power supply needs to be provided to the CMOS memory when the embedded electronic device is switched off. In addition, the setting of the BIOS is achieved via the keyboard or the screen, which is not necessarily equipped in the embedded electronic device.
Therefore, according to the present invention, an embedded electronic device and a booting method thereof are disclosed to provide various optional initiation image sources and sequences for booting up the embedded electronic device.